package com.yunhai.ucenter.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yunhai.common.dto.PaginationVo;
import com.yunhai.model.entity.ums.UmsPermission;
import com.yunhai.model.entity.ums.UmsUser;
import com.yunhai.model.vo.ums.AccountPasswordVo;
import com.yunhai.model.vo.ums.UserInfoVo;
import com.yunhai.ucenter.entity.vo.SysUserVo;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author mengze
 * @since 2023-08-23
 */
public interface SysUserService {

    void addUser(UmsUser sysUser) throws Exception;

    void updateUser(UmsUser sysUser) throws Exception;

    void batchRemoveUser(List<Long> ids) throws Exception;

    public IPage paginationUserList(PaginationVo paginationVo, SysUserVo sysUserVo) throws Exception;

    List<UmsUser> allUserList() throws Exception;

    UserInfoVo loginByUsername(AccountPasswordVo loginVo) throws Exception;

    void updateUserPassword(UmsUser sysUser) throws Exception;

    List<UmsUser> getUserListByIds(List<Long> userIds ) throws Exception;

    UmsUser getUserByOpenId(String openId) throws Exception;

    List<UmsPermission> curUserPermissionList() throws Exception;

    Integer getMonthCountOfUser() throws Exception;

    UmsUser getUserInfo(Long id) throws Exception;
}
